Applications for computers, mobile devices, and other devices can provide useful functionality to users. Users generally install and run many different applications, each with a different purpose and set of functionality. Frequently, applications are coded and maintained separately, at considerable effort and cost. Applications are often individually stored and distributed through application store or marketplace, requiring significant server resources for distribution and storage. Further, user devices have limited storage space. This limited space is often consumed by applications that are each useful for only limited functions, or by applications that each only partially serve the user's needs. Many applications are updated only occasionally, with software updates that users may need to install manually.